package jp.eisbahn.mgapi.http;

import java.util.List;
import java.util.Map;

/**
 * This interface defines the operation about HTTP response.
 * @author Yoichiro Tanaka
 */
public interface HttpResponse {

    /**
     * Retrieve the status code.
     * @return The status code returned from the server.
     */
    int getResponseCode();

    /**
     * Retrieve the status message.
     * @return The human-readable status message string.
     */
    String getResponseMessage();

    /**
     * Retrieve the response body.
     * @return The response body as string.
     */
    String getResponseBody();

    /**
     * Retrieve the response header values.
     * @return The map collection object which has each header values.
     */
    Map<String, List<String>> getHeaderMap();

}
